// 导入instance
import instance from '@/utils/axios.js'

// 封装首页tab栏接口函数
function getChannels () {
  return instance({
    url: '/v1_0/channels',
    method: 'get'
  })
}
export { getChannels }

// 获取推荐新闻接口函数
function getArticles ({ channel_id, timestamp }) {
  return instance({
    url: '/v1_0/articles',
    method: 'get',
    params: {
      channel_id,
      timestamp, // 时间戳，请求新的推荐数据传当前的时间戳，请求历史推荐传指定的时间戳
      with_top: 1
    }
  })
}
export { getArticles }

// 获取文章详情接口函数
function getArticleInfo (id) {
  return instance({
    /*  接口 ： /v1_0/articles/:article_id 这种形式
      传参需要拼接在 url 后面 : url/id 
     */
    url: '/v1_0/articles/' + id,
    method: 'get'
  })
}
export { getArticleInfo }

// 关注与取消关注接口
// 关注接口
function followUser (id) {
  return instance({
    url: '/v1_0/user/followings',
    method: 'post',
    data: { target: id }
  })
}
// 取消关注接口
function unFollowUser (id) {
  return instance({
    url: '/v1_0/user/followings/' + id,
    method: 'delete'
  })
}
// 导出关注与取消关注接口
export { followUser, unFollowUser }

// 点赞与取消点赞接口
// 点赞接口
function praiseUser (id) {
  return instance({
    url: '/v1_0/article/likings',
    method: 'post',
    data: { target: id }
  })
}
// 取消点赞接口
function unPraiseUser (id) {
  return instance({
    url: '/v1_0/article/likings/' + id,
    method: 'delete'
  })
}
// 导出点赞与取消点赞接口
export { praiseUser, unPraiseUser }

// 不喜欢与取消不喜欢接口
// 不喜欢接口
function addDisLike (id) {
  return instance({
    url: '/v1_0/article/dislikes',
    method: 'post',
    data: { target: id }
  })
}
// 取消不喜欢接口
function cancelDisLike (id) {
  return instance({
    url: '/v1_0/article/dislikes/' + id,
    method: 'delete'
  })
}
// 导出不喜欢与取消不喜欢接口
export { addDisLike, cancelDisLike }

// 搜索推荐词列表
function getSuggestionList (q) {
  return instance({
    url: '/v1_0/suggestion',
    method: 'get',
    params: { q }
  })
}
export { getSuggestionList }

// 搜索结果列表
function getSearchResults ({ page, pre_page, q }) {
  return instance({
    url: '/v1_0/search',
    method: 'get',
    params: {
      page,
      pre_page,
      q
    }
  })
}
export { getSearchResults }
